<?php
namespace app\admin\controller;
use app\admin\model\UserModel;
use think\Controller;
use think\Db;
use think\Exception;
use think\Request;


// 客户控制
class User extends Common
{
    // 显示客户信息列表
    public function getUserList(Request $request){
        // 
        $keyword=$request->param('keyword','');
        $status=$request->param('user_status','all');

        $query = UserModel::userList($keyword,$status);
        
        $this->assign([
            'list'=>$query->paginate(15),
            'keyword'=>$keyword,
            'user_status'=>$status
        ]);
        return  $this->fetch('userList');
    }


    // ajax修改客户状态
    public function postAjaxChangeStatus(Request $request){
        if($request->isAjax()){
            $id=$request->post('id');
            $status=$request->post('status');

            $res = UserModel::changeStatus($id,$status);
            
            echo $res;

        }
    }
public function postAjaxUpdateInviteCode(Request $request)
{
    $id=$request->post('id');
    if(!is_numeric($id))
    {
        die(json_encode(false));
    }
    Db::startTrans();

    $info = UserModel::getUserExtendInfoForUpdate($id);
    if(empty($info))
    {
        Db::rollback();
        die(json_encode(false));

    }

    if(empty($info['user_invite_code']))
    {
        try{
           $res= UserModel::generateInviteCode($id);
        }catch (Exception $e)
        {
            Db::rollback();
            die(json_encode(false));
        }

    }else{
       $res= UserModel::clearInviteCode($id);
    }
    Db::commit();

    if(!$res)
    {
        die(json_encode(false));
    }
    die(json_encode(true));
}
    // 导出 Excel 
    public function getExcel(){
        # table 数据库表名   str
        # fields  数据库字段  str
        # headArr Excel 表头 arr
        # filename 表名 前缀 str
        
        $table ='user';
        $headArr=array('用户编号','用户姓名','用户手机号','用户是否被列入黑名单(0代表否，1代表是)');
        $filename="All_User_List";
        $fields='user_id,user_name,user_phone,is_del';
        
        listToExcel($table, $fields ,$headArr,$filename) ;
    //    dump( listToExcel($table, $fields ,$headArr,$filename) );
    }
}